package com.linkq.ipinyin.model;

/**
 * @author wangpeng
 * @since 2025-06-29
 **/
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

@ApiModel(value = "苹果响应的核心数据，反应了一些重要的数据")
@Data
public class AppleReceipt implements Serializable {
    @ApiModelProperty(value = "生成的收据类型。该值对应于进行应用程序或 VPP 购买的环境。\n" +
            "可能的值：Production, ProductionVPP, ProductionSandbox, ProductionVPPSandbox")
    private String receipt_type;

    @ApiModelProperty(value = "见。app_item_id")
    private Long adam_id;

    @ApiModelProperty(value = "由 App Store Connect 生成并由 App Store 用于唯一标识所购买的应用程序。仅在生产中为应用分配此标识符。将此值视为 64 位长整数。")
    private Long app_item_id;

    @ApiModelProperty(value = "收据所属应用的捆绑包标识符。您在 App Store Connect 上提供此字符串。这对应于应用程序文件中的值。CFBundleIdentifierInfo.plist")
    private String bundle_id;

    @ApiModelProperty(value = "应用程序的版本号。应用程序的版本号对应于. 在生产中，此值是设备上基于. 在沙盒中，该值始终为。CFBundleVersionCFBundleShortVersionStringInfo.plistreceipt_creation_date_ms\"1.0\"")
    private String application_version;

    @ApiModelProperty(value = "应用下载交易的唯一标识符。")
    private Long download_id;

    @ApiModelProperty(value = "一个任意数字，用于标识您的应用程序的修订版。在沙箱中，此键的值为“0”。")
    private Long version_external_identifier;

    @ApiModelProperty(value = "App Store 生成收据的时间，采用类似于 ISO 8601 的日期时间格式。")
    private String receipt_creation_date;

    @ApiModelProperty(value = "App Store 生成收据的时间，采用 UNIX 纪元时间格式，以毫秒为单位。使用此时间格式处理日期。这个值不会改变。")
    private String receipt_creation_date_ms;

    @ApiModelProperty(value = "App Store 生成收据的时间，在太平洋时区。")
    private String receipt_creation_date_pst;

    @ApiModelProperty(value = "处理对端点的请求并生成响应的时间，采用类似于 ISO 8601 的日期时间格式。verifyReceipt")
    private String request_date;

    @ApiModelProperty(value = "处理对端点的请求并生成响应的时间，采用 UNIX 纪元时间格式，以毫秒为单位。使用此时间格式处理日期。verifyReceipt")
    private String request_date_ms;

    @ApiModelProperty(value = "在太平洋时区处理对端点的请求并生成响应的时间。verifyReceipt")
    private String request_date_pst;

    @ApiModelProperty(value = "原始应用购买的时间，采用类似于 ISO 8601 的日期时间格式。")
    private String original_purchase_date;

    @ApiModelProperty(value = "原始应用购买的时间，采用 UNIX 纪元时间格式，以毫秒为单位。使用此时间格式处理日期。")
    private String original_purchase_date_ms;

    @ApiModelProperty(value = "原始应用购买时间，太平洋时区。")
    private String original_purchase_date_pst;

    @ApiModelProperty(value = "用户最初购买的应用版本。该值不变，对应原始购买文件中（iOS 中）或String（macOS 中）的值。在沙盒环境中，该值始终为.CFBundleVersionCFBundleShortVersionInfo.plist\"1.0\"")
    private String original_application_version;

    @ApiModelProperty(value = "包含所有应用内购买交易的应用内购买收据字段的数组。")
    private AppleOrder[] in_app;
}